package chapter02

object Test14_Array {
  def main(args: Array[String]): Unit = {
    //数组的定义
    val a = new Array[Int](5)
    println(a.mkString(","))
    //需要定义的时候有初始值 使用Array的apply方法直接给值
    val b = Array.apply(1, 2, 3, 4, 5, 6)
    //在使用中apply可以省略
    val c = Array(1, 2, 3, 4)
    println(b.mkString(","))
    //取数组元素值
    println(b(2))
    //更新数组中元素
    b(2) = 10
    println(b(2))
    b.update(0,200)
    println(b(0))
    //增加元素 在尾部增加一个元素
    val d = b :+ 200:+300
    //在头部增加元素
    val e = 40+:50 +: d
    println(d.mkString(","))
    println(e.mkString(","))
    //数组的查找 indexof contains
    println(e.indexOf(200))
    println(e.indexOf(200,3))
    println(e.indexOf(500))
    println(e.contains(200))
    println(e.contains(500))
    //使用一个元素填充数组
    val g = Array.fill(5)("张三")
    println(g.mkString(","))
    //使用Range填充
    val h = Range(1, 5)
    println(h.mkString(","))
    //两个数组相加 ++
    val array = g ++ h
    println(array.mkString(","))
    val array1 = Array.concat(e, h.toArray)
    println(array1.mkString(","))
  }
}
